In computing, enterprise systems provide application packages to support the computing needs of a business. For example, an enterprise system may provide business processes, including sales, accounting, human resources, data analytics, reporting, and other company operations. Enterprise systems facilitate a business in more easily handling computing needs of the business using a common and interrelated application package. Modern enterprise systems use web applications as access points to the enterprise system instead of localized enterprise applications on individual user workstations. This benefits the user and business by minimizing time and monetary costs of local installation, servicing, and troubleshooting.
Web applications attempt to mimic the comfort and performance of desktop applications. As a result, where desktop applications may make calls to retrieve stored data for one user quickly, web applications that are required to do the same may incur heavy performance penalties from attempting to access large data stores for many people and/or many times. Some web applications often do not retrieve data located in one or more databases at each request for the data. Instead, these web applications use caching mechanisms to increase performance by storing data to more local and/or faster data caches. Current caching mechanisms are time based. However, enterprise applications often work with live data. Thus, time based caching mechanisms do not guarantee the validity of data used by a web based enterprise application.